Battery state estimation apparatus and method

ABSTRACT

Provided is a battery state estimation apparatus and method that determine a validity of a battery model, which is dependent on a parameter, based on state information of a battery that is estimated from battery information of the battery, transmit an update request for the battery model to an external battery model provider in response to a result of the determining indicating that the battery model is invalid, receive another parameter in response to the update request, and update the battery model based on the other parameter.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit under 35 USC § 119(a) of KoreanPatent Application No. 10-2016-0128339 filed on Oct. 5, 2016, in theKorean Intellectual Property Office, the entire disclosure of which isincorporated herein by reference for all purposes.

BACKGROUND 1. Field

The following description relates to technologies that include batterystate estimation.

2. Description of Related Art

A number of electronic devices include batteries, such as primary or assecondary batteries that are charged repetitively during operations ofthe devices. As the number of times a battery is discharged and chargedincreases, the capacity of the battery gradually decreases. Accordingly,as each charge cycle repeats, the battery life of the underlyingelectronic device decreases. As the battery life decreases, an initialbattery capacity may no longer be guaranteed after many charge anddischarge cycles. With such continuous decreases in battery capacities,power, operation time, and stability of corresponding electronic devicesmay be compromised. Thus, the battery may need to be replaced with a newone.

For example, to determine an expected time for battery replacement, astate of health (SoH) of the battery may be estimated.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is this Summaryintended to be used as an aid in determining the scope of the claimedsubject matter.

In one general aspect, a processor implemented method to estimate astate of a battery includes determining a validity of a battery model,which is dependent on a parameter, based on state information of thebattery that is estimated from battery information of the battery,transmitting an update request for the battery model to an externalbattery model provider in response to a result of the determiningindicating that the battery model is invalid, receiving anotherparameter in response to the update request, and updating the batterymodel based on the other parameter.

The method may further include estimating the state information of thebattery using the updated battery model and the battery information.

The determining may include estimating the state information of thebattery from the battery information using the battery model,determining whether the estimated state information of the battery isoutside of an estimation range of the battery model, determining thatthe battery model is valid in response to the estimated stateinformation of the battery being within the estimation range, anddetermining that the battery model is invalid in response to theestimated state information being outside of the estimation range.

The determining of whether the estimated state information of thebattery is outside of the estimation range may include determining thatthe estimated state information of the battery is outside of theestimation range in response to the estimated state information of thebattery being less than a predetermined minimum level of stateinformation set to be accurately estimated by the battery model.

The transmitting may include transmitting, to a battery state estimationserver that generates battery state models based on differentparameters, a signal to request at least one parameter having a rangeoverlapping at least a portion of an estimation range of the parameterthat the battery model is dependent on.

The determining may include determining that the parameter that thebattery model is dependent on is invalid in response to the estimatedstate information of the battery being outside of an estimation range ofthe battery model, and the transmitting may include transmitting, to abattery state estimation server that generates battery state modelsbased on different parameters, a signal to request at least oneparameter trained to estimate state information less than or equal to apredetermined minimum level of the estimation range of the parameterthat the battery model is dependent on in response to the estimatedstate information of the battery being less than or equal to thepredetermined minimum level.

The receiving may include receiving, from the battery state estimationserver, one or more parameters trained to a different predeterminedminimum level, of a different estimation range predetermined foraccurate estimation, based on all or a select portion of reference datacollected by the battery state estimation server up to a point in timeat which the update request is received.

The method may further include searching for a parameter correspondingto a sensed change in the battery, from among parameters stored in amemory, updating, when the searched for parameter is found, the batterymodel based on the found parameter, performing, when the searched forparameter is not found, the transmitting, the receiving of the otherparameter, and the updating of the battery model based on the otherparameter, and estimating state information of the battery with thesensed change based on the updated battery model.

The determining may further include searching for a parametercorresponding to a changed battery, among parameters stored in a memory,in response to a change of the battery being sensed, and thetransmitting may further include transmitting a signal to request theparameter corresponding to the changed battery in response to theparameter corresponding to the changed battery being not found.

The method may further include continuing an estimating of the stateinformation of the battery for continued changes in the batteryinformation based on the parameter that the battery model is dependenton, until the result of the determining indicates that that theestimated state information is invalid.

The he battery model may be a battery model neural network and theparameter may be a representation of specially trained connectionweights within the battery model neural network trained for estimating abattery state for a first state information estimation range, and theupdating of the battery model may include applying connection weightsrepresented by the other parameter to a neural network structure togenerate another specially trained battery model neural network trainedfor estimating a battery state for a different second state informationestimation range, where the generated other specially trained batterymodel neural network may be the updated battery model.

The battery model may be a battery model neural network and theparameter that the battery model is dependent on is a trained connectionweighting matrix, and the other parameter may be a different trainedconnection weighting matrix.

The parameter and the other parameter may be respectively trainedparameters for different battery state estimation ranges.

In one general aspect, there is provided a non-transitorycomputer-readable medium storing instructions, that when executed by aprocessor, cause the processor to perform one or more or all of theprocesses described herein.

In one general aspect, an apparatus to estimate a state of a battery mayinclude a communicator to communicate with an external battery modelprovider, a memory to store a battery state estimation model that isdependent on a parameter, and a processor configured to determine avalidity of the battery state estimation model based on stateinformation of the battery that is estimated from battery information ofthe battery, control the communicator to transmit an update request forthe battery state estimation model to the external battery modelprovider in response to a result of the determining indicating that thebattery state estimation model is invalid, and update the battery stateestimation model based on another parameter received in response to theupdate request.

The apparatus may further include the battery.

The processor may be configured to estimate the state information of thebattery from the battery information using the battery state estimationmodel, determine whether the estimated state information of the batteryis outside of an estimation range of the battery state estimation model,determine that the battery state estimation model is valid in responseto the estimated state information of the battery being within theestimation range, and determine that the battery state estimation modelis invalid in response to the estimated state information being outsideof the estimation range.

The processor may be configured to determine that the estimated stateinformation of the battery is outside of the estimation range inresponse to the estimated state information of the battery being lessthan a predetermined minimum level of state information set to beaccurately estimated by the battery state estimation model.

The processor may be configured to control the communicator to transmit,to a battery state estimation server that generates battery stateestimation models based on different parameters, a signal to request atleast one parameter having a range overlapping at least a portion of anestimation range of the parameter that the battery state estimationmodel is dependent on.

The processor may be configured to determine that the parameter that thebattery state estimation model is dependent on is invalid in response tothe estimated state information of the battery being outside of anestimation range of the battery state estimation model, and control thecommunicator to transmit, to a battery state estimation server thatgenerates battery state estimation models based on different parameters,a signal to request at least one parameter trained to estimate stateinformation less than or equal to a predetermined minimum level of theestimation range of the parameter that the battery state estimationmodel is dependent on in response to the estimated state information ofthe battery being less than or equal to the predetermined minimum level.

The parameter and the other parameter may be respectively trainedparameters for different battery state estimation ranges.

In one general aspect, an apparatus to estimate a state of a battery mayinclude a processor configured to determine a validity of a batterystate estimation model neural network, which is dependent on firsttrained connection weighting information, based on state information ofa battery that is estimated from battery information of the battery,control a transmitting of an update request for the battery stateestimation model neural network to an external battery model provider inresponse to the determining indicating that the battery state estimationmodel neural network is invalid, and update the battery state estimationmodel neural network based on second different trained connectionweighting information received in response to the update request.

The first trained connection weighting information may be trainedconnection weighting information for a battery state estimation rangedifferent from a battery state estimation range for which the secondtrained connection weighting information is trained.

Other features and aspects will be apparent from the following detaileddescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example of a training of a batterymodel and use of the battery model to estimate a state of a battery inaccordance with one or more embodiments.

FIG. 2 illustrates an example of a configuration of a battery stateestimation system in accordance with one or more embodiments.

FIG. 3 illustrates an example of a configuration of a battery stateestimation apparatus in accordance with one or more embodiments.

FIG. 4 is a block diagram illustrating an example of a configuration ofa battery state estimation system in accordance with one or moreembodiments.

FIG. 5 is a diagram illustrating an example of a battery stateestimation process in accordance with one or more embodiments.

FIGS. 6 and 7 are flowchart illustrating examples of a battery stateestimation method in accordance with one or more embodiments.

FIG. 8 illustrates an example of an operation of battery stateestimation in accordance with one or more embodiments.

FIG. 9 illustrates an example of parameters applied to a battery modelin accordance with one or more embodiments.

FIGS. 10A and 10B respectively illustrate an example of a battery modeland parameters applied to the battery model in accordance with one ormore embodiments.

FIG. 11 illustrates example estimation comparisons between an initialbattery model and a full or global battery model in accordance with oneor more embodiments.

Throughout the drawings and the detailed description, unless otherwisedescribed or provided, the same drawing reference numerals will beunderstood to refer to the same or like elements, features, andstructures. The drawings may not be to scale, and the relative size,proportions, and depiction of elements in the drawings may beexaggerated for clarity, illustration, and convenience.

DETAILED DESCRIPTION

The following detailed description is provided to assist the reader ingaining a comprehensive understanding of the methods, apparatuses,and/or systems described herein. However, various changes,modifications, and equivalents of the methods, apparatuses, and/orsystems described herein will be apparent after an understanding of thedisclosure of this application. For example, the sequences of operationsdescribed herein are merely examples, and are not limited to those setforth herein, but may be changed as will be apparent after anunderstanding of the disclosure of this application, with the exceptionof operations necessarily occurring in a certain order. Also,descriptions of features that are known in the art may be omitted forincreased clarity and conciseness.

The features described herein may be embodied in different forms, andare not to be construed as being limited to the examples describedherein. Rather, the examples described herein have been provided merelyto illustrate some of the many possible ways of implementing themethods, apparatuses, and/or systems described herein that will beapparent after an understanding of the disclosure of this application.

Various alterations and modifications may be made to the examples. Here,the examples are not construed as limited to the disclosure and shouldbe understood to include all changes, equivalents, and replacementswithin the idea and the technical scope of the disclosure.

The terminology used herein is for the purpose of describing particularexamples only and is not to be limiting of the examples. As used herein,the singular forms “a”, “an”, and “the” are intended to include theplural forms as well, unless the context clearly indicates otherwise. Itwill be further understood that the terms “include/comprise” and/or“have” when used in this specification, specify the presence of statedfeatures, integers, operations, elements, components, and/orcombinations thereof, but do not preclude the presence or addition ofone or more other features, numbers, operations, elements, components,and/or groups thereof.

Unless otherwise defined, all terms including technical and scientificterms used herein have the same meaning as commonly understood by one ofordinary skill in the art to which this disclosure pertains consistentwith and after an understanding of the present disclosure. It will befurther understood that terms, such as those defined in commonly-useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art and thepresent disclosure and will not be interpreted in an idealized or overlyformal sense unless expressly so defined herein.

When describing the examples with reference to the accompanyingdrawings, like reference numerals refer to like constituent elements anda repeated description related thereto will be omitted.

FIG. 1 is a diagram illustrating an example of a training of a batterymodel and use of the battery model to estimate a state of a battery inaccordance with one or more embodiments.

Technology to estimate a state of a battery is, for example, as follows.Computational analysis based technology mathematically expresses andinterprets a chemical reaction of a battery to estimate a state of thebattery using processor or processing hardware. For example, thecomputational analysis based technology mathematically expresses thechemical reaction of the battery, and estimates a life, a state ofhealth (SoH), a state of charge (SoC), and an abnormal state of thebattery based on states of materials constituting the battery. However,it is difficult to mathematically express an exact internal state of thebattery in reality. Thus, to estimate the state of the battery, thecomputational analysis based technology applies various approximationschemes. An error may occur when estimating the state of the batterydepending on the approximation scheme.

Statistics based technology estimates a state of a battery based onstatistical values. The statistics based technology was developed basedon computer science or statistics using processor or processinghardware. The statistics based technology estimates the state of thebattery based on information observable from an outside of the batteryalthough an exact internal state of the battery is not known. Forexample, the statistics based technology estimates the state of thebattery based on battery information related to temperature, voltage,and current of the battery and a lookup table. However, to estimate thestate of a particular battery the statistics based technology needs allreference data, such as all of reference data 110 of FIG. 1, of theparticular battery prepared in advance, and thus a relatively longdevelopment time is required until full reference data related to theparticular battery is collected. In addition, still further, each time anew battery is manufactured using a new material or configuration, forexample, the same long reference data collection period is required. Ina case in which insufficient reference data is provided, the statisticsbased technology may provide a low accuracy of battery state estimation.The full reference data is obtained by collecting a correlation betweeninformation associated with the battery and a state, for example, alife, of the battery from a point in time at which the battery ismanufactured to an end of life of the battery. Thus, for example, wheninsufficient reference data is collected from the point in time at whichthe battery is manufactured to a predetermined point in time before theend of life of the battery, there are technological problems inaccurately estimating the state of the battery.

Herein, battery information refers to information that may be collectedfrom a battery, and includes, as non-limiting examples, a voltagesignal, a current signal, and a temperature signal measured from thebattery.

In addition, herein, state information of a battery refers toinformation indicating a state of the battery, and includes, forexample, an SoH, an SoC, and/or a residual available travel distance ofthe battery. However, although the SoH of the battery is describedherein as an example of the state information of the battery,embodiments are not limited thereto. The embodiments may also be appliedto other state information of the battery.

Herein, reference data, such as the illustrated reference data 110 ofFIG. 1, refers to data indicating state information which is a criterionfor estimating a state of a battery, and data indicating that apredetermined battery has predetermined state information for providedbattery information. The reference data is obtained by an experimentand/or simulation, such as by an example battery state estimation serveror by a battery state estimation apparatus that may also be a server.For example, the training reference data includes a set of pairs oftraining inputs and corresponding training outputs. A training input isbattery information collected of or from the predetermined battery, andwhile a training output may be an actual life of the predeterminedbattery corresponding to the training input, or a battery life extractedfrom stored battery data for the predetermined battery corresponding tothe training input. For example, the actual life may represent the lifeof the predetermined battery measured directly from the battery usingelectrochemical impedance spectroscopy (EIS). EIS measures an internalresistance of the battery by applying a small amount of currents to thebattery. The reference data may represent data obtained by extracting acorrelation between state information and battery information. Thus, abattery model may be trained by, for example, iteratively adjusting aspecialized configuration and intuitive operation of the battery modeluntil the battery model sufficiently accurately outputs, e.g., topredetermined accuracies or confidence levels, the example trainingoutput for corresponding given example training input.

Thus, herein, the battery model refers to a model specificallyconfigured to estimate state information of a battery. As noted, thebattery model may be a model configured to output state informationcorresponding to predetermined battery information. For example, thebattery model is configured to output a life of the battery based on avoltage signal, a current signal, and/or a temperature signal of thebattery, for example. The battery model may have been configured throughtraining using the predetermined battery information to always output asame life of the battery under specific input conditions, thoughembodiments are not limited thereto. The battery model may be a machinelearning (ML) model, and may be trained to compute output based oninput, based on trained configurations and operations of the batterymodel generated through such ML model previous computed training outputsfrom training inputs based on the aforementioned training referencedata, such as the reference data 110 of FIG. 1. Further, depending onembodiment, the ML battery model may be a neural network, a hiddenMarkov model, a Beyesian network, a support vector machine (SVM), adecision tree (DT), and/or a k-NN (nearest neighbors algorithm), as onlyexamples.

As shown in FIG. 1, a battery state estimation apparatus may estimatestate information of a battery, e.g., the battery having an actualbattery state 190, using a plurality of battery models that have beentrained based on reference data, e.g., reference data 110. The pluralityof battery models are models trained with respect to differentestimation ranges, or trained to have respective predetermined levels ofaccuracy or confidence for the different estimation ranges. For example,a first model 121 may be a battery model that was trained based onreference data 110 collected after an initial release or manufacture ofthe predetermined battery until an initial period after that releasetime. A second model 122 may be a battery model that was trained basedon reference data 110 collected after the initial release or about theinitial period until a middle point in time. A third model 123 may be abattery model that was trained based on reference data 110 fullycollected or after the middle point in time. The plurality of batterymodels may have the same type of ML structures, with respectiveparameters of the same type ML structure being different from eachother. Alternatively, the models may have different structures withdifferent corresponding parameters. In an example, the plurality ofbattery models may be configured using neural networks and have the samenumber of layers and the same number of nodes, with different respectiveparameters representing different collections of specially trainedconnection weights between nodes of the corresponding different neuralnetworks. For example, a parameter for a neural network battery modelmay be stored or transmitted as a matrix, with elements of the matrixrepresenting the different connection weights between nodes of thespecialized neural network battery model.

To obtain the reference data 110, a battery manufacturer or a batterystate estimation server or system, or battery estimation apparatus thatmay act a server, collects reference data based on experiment dataobtained from a battery degradation experiment after an initialproduction of the predetermined battery. A predetermined time isrequired to collect the experiment data related to the battery. Since afew years may be required to obtain full reference data 110, the batterystate estimation server, for example, may sequentially generate localmodels 120, as the corresponding reference data become available, witheach reflecting characteristics of a portion, e.g., correspondinglydifferent portions, of life periods of the entire life of thepredetermined battery based on the reference data collected until acorresponding point in time corresponding to that portion of lifeperiods.

For example, the battery state estimation server generates an initialmodel, for example, the first model 121, based on reference data 110collected until a first point in time, a middle model, for example, thesecond model 122, based on reference data 110 collected until a secondpoint in time, and a final model, for example, the third model 123,based on reference data 110 collected until a third point in time. Thebattery state estimation apparatus may receive one or more of thebattery models and/or corresponding parameters from the battery stateestimation server, and estimates state information of a battery usingthe different corresponding battery models as appropriate.

The battery state estimation server may train a battery model based onreference data 110 collected until a predetermined point in time, forexample, training the battery models sequentially in an order of thefirst model 121, the second model 122, and the third model 123. AlthoughFIG. 1 illustrates three battery models, the number of the batterymodels is not limited thereto. N battery models may be provided, N beingan integer greater than or equal to “1”. Each time reference data 110may be collected at a predetermined interval, the battery stateestimation server generates a battery model corresponding to thereference data collected up until then. However, embodiments are notlimited thereto. The battery state estimation server may generate abattery model at the time of the request for the battery model, for aselect estimation range, from an external device, for example, anexample battery state estimation apparatus that is remote from thebattery state estimation server, such as in a battery state estimationsystem that includes one or more of the battery state estimation serversand one or more battery state estimation apparatuses.

As noted above, the battery state estimation apparatus may alsoimplement such battery model generation, as well as application of thegenerated battery models for battery state estimation and/or serverprovision of the generated battery models, as described herein, toanother battery state estimation apparatus. Accordingly, discussionsherein with respect to the operations of the battery state estimationserver are also applicable to the battery state estimation apparatus,and discussions with respect to the battery state estimation apparatusare also applicable to the battery state estimation server. In anexample, a battery state estimation server may not perform thegeneration of the battery models, but only receive and store generatedbattery models from another battery state estimation server thatimplements the battery model generation operations discussed herein, andthus merely receive generated battery models as they are generated ormade available and transmit/forward them to the battery state estimationapparatus as requested or otherwise discussed herein. Likewise, abattery state estimation apparatus that requests, receives, and usesreceived generated battery models may forward the received batterymodels to other another battery state estimation apparatus upon requestor as otherwise discussed herein.

As demonstrated in FIG. 1, the first model 121 is a battery modeltrained based on reference data 110 collected in an initial period afteran initial release or manufacture time of a new predetermined battery,and an estimation range of the first model 121 covers state informationof the predetermined battery indicated by the reference data 110collected until an initial point in time, for example, the first pointin time. For example, as shown in FIG. 1, the first model 121 may besuitable for estimating state information of a battery until the initialpoint in time after the battery operates. However, a middle point intime, for example, the second point in time is outside of the estimationrange of the first model 121, and thus an inaccurate result may beprovided if the first model 121 is used to estimate a state of a batteryat the second point in time. For example, in a case in which an actualbattery state 190 for a battery of the battery state estimationapparatus is outside of an estimation range of a currently selectedbattery model of the battery state estimation apparatus, the batterystate estimation apparatus may not estimate accurate state informationusing the currently selected battery model, and thus the batteryestimation apparatus may request an update of the battery model from thebattery state estimation server. Thus, the second model 122 may beprovided by the battery state estimation server to the battery stateestimation apparatus in response to the request.

Thus, after or after initiating the generating of the first model 121,the battery state estimation server may sequentially generate orinitiate the generating of another model and still another model, forexample, the second model 122 and the third model 123, based on thereference data 110 until the reference data 110 is fully collected andall the local models 120 have been generated. In response to the fullreference data 110 being collected, the battery state estimation servergenerates a global model 130 that reflects overall characteristics ofthe corresponding battery. The local models 120 may require relativelyshort times for training and have relatively low model complexities, butmay have predetermined sufficiently high accuracies or confidences forrelatively narrow estimation ranges, e.g., compared to a predeterminedsufficiently high accuracy or confidence available estimation range ofthe global model 130. The global model 130 may require a relatively longtime for training and a relatively high model complexity, but has arelatively wide estimation range compared to the estimation ranges ofthe local models 120. Here, the estimation ranges of the local models120 may immediately follow each other or they may partially overlap, forexample. In addition, while an overall range represented by all theestimation ranges of the local models 120 may cover at least theestimation range of the global model 130, the overall range may be lessthan, equal, to or greater than the entire estimation range of theglobal model 130, and there may also be gaps between estimation rangesof the local models 120.

Hereinafter, a configuration of a battery state estimation apparatusappropriately receiving and updating one or more of such generatedbattery models, such as the local models 120 generated by the batterystate estimation server in FIG. 1 based on different collection levelsof reference data 110 will be described in greater detail with respectto FIG. 2. Here, it is noted that the battery state estimation servermay also provide, e.g., upon request or upon completion, the globalmodel 130 to the battery state estimation apparatus.

FIG. 2 illustrates an example of a configuration of a battery stateestimation system in accordance with one or more embodiments.

Referring to FIG. 2, an operation of a battery state estimation system200 is divided into an operation of a battery state estimation server210 and an operation of a battery state estimation apparatus 220.

In operation 212, the battery state estimation server 210 generates abattery model based on reference data 211. The battery state estimationserver 210 receives or is input with the reference data 211 obtainedfrom an experiment or simulation on a battery. Further, the batterystate estimation server 210 may have a strong processing capability, andthus may generate the battery model from the reference data 211 at afast processing speed.

In operation 222, the battery state estimation apparatus 220 estimatesstate information of a battery of the battery state estimation apparatus220 from battery information 221 of the battery using a battery model.In operation 223, the battery state estimation apparatus 220 determinesa validity of a current battery model based on the estimated stateinformation.

As shown in FIG. 2, while the battery state estimation server 210performs generation of a battery model using a great operation time andpower, the battery state estimation apparatus 220 may simply receive thetrained battery model or corresponding parameter from the battery stateestimation server 210 and utilizes the new or updated battery model.Thus, required performance for the battery state estimation apparatus220 may not be relatively great, and thus a production cost of thebattery state estimation apparatus 220 may be low compared to thebattery state estimation server 210.

FIG. 3 illustrates an example of a configuration of a battery stateestimation apparatus in accordance with one or more embodiments.

Referring to FIG. 3, a battery state estimation apparatus 300 includes acommunicator 310, a processor 320, and a memory 330, for example.

The communicator 310 communicates with a battery state estimationserver, such as the battery state estimation server discussed above withrespect to FIGS. 1 and 2. For example, the communicator 310 communicateswith the battery state estimation server in a wired or wireless manner.The communicator 310 transmits an update request to the battery stateestimation server. The battery state estimation server may receive therequest and, in response, transmit a parameter for another batterymodel, or for updating the current battery model of the battery stateestimation apparatus, to the communicator 310. The communicator 310 maythen receive the parameter corresponding to the update request from thebattery state estimation server. Further, the communicator 310 maycommunicate with the battery state estimation server using variouswireless mobile networks, for example, 3G, 4G, 5G, and Wi-Fi, or usingcable connection, as only examples. The cable connection may beconfigured to perform data communication and to supply power through acharger. The parameter may include information, or may be transmittedalong with such information, related to an estimation range in a case inwhich the parameter configures a battery model, or the estimation rangeis mapped to the received parameter. In an example, the communicator 310receives the estimation range along with the parameter from the batterystate estimation server through a network protocol. The estimation rangemay include or represent a threshold of a minimum level of estimablestate information and a threshold of a maximum level of the stateinformation with sufficient predetermined accuracy or confidence.

Hereinafter, the parameter refers to information that configures abattery model, e.g., information to be used to configure a speciallytrained battery model, as discussed above with respect to FIG. 1. Forexample, in a case in which the battery model is a neural network, theparameter may define the connection weights of connections that connectnodes of the neural network. The battery state estimation apparatus 300updates the parameter of the battery model as necessary. For example,the battery state estimation apparatus 300 may change from a previousapplied parameter of a current battery model to now use the receivedparameter to update the current battery model. Alternatively, suchupdating of the current battery model may also be considered as ageneration of a new specially trained neural network based on thereceived parameter, with the newly generated neural network being theupdated current battery model.

The update request may be a signal to request such a parameter to beused to update the battery model from the battery state estimationserver. For example, the update request may be a signal to request aparameter for a battery model corresponding to a range overlapping atleast a portion of an estimation range of a current battery model thatis based on a currently applied parameter.

Herein, the estimation range is a range of state information to beestimated, e.g., by the processor 320, using a parameter defining atrained battery model. In a case in which the state information is anSoH, the SoH of a newly manufactured battery is indicated as 100%, andthe battery may be released, released from manufacture, or firstly usedat a point in time at which reference data may have only so far beencollected with respect to a range of the SoH from 100% to 90%. Thus, thecorresponding generated battery model, defined by correspondingparameter, based on this limited reference data would have an estimationrange of the SoH from 100%, for example, as the maximum level, to 90%,for example, as the minimum level, and may not guarantee accuracy at asufficiently high predetermined level with respect to a range less thanor greater than the estimation range. In a case in which more referencedata had been collected, for example, additionally collected to a rangefrom 90% to 80%, another parameter defining another battery modelgenerated based on the newly collected reference data would represent arange of the SoH from 100% to 80% as the estimation range for the otherbattery model. The other generated battery model may alternatively beconfigured to have a range of the SoH from 91% to 80% as the estimationrange.

The processor 320 may perform operations to estimate the stateinformation of the battery. For example, the processor 320 may determinea validity of a current battery model based on state information of abattery estimated from battery information, transmit an update requestfor an updated battery model to the battery state estimation serverusing the communicator 310 in response to a determination that thecurrent battery model is invalid, and update the current battery modelbased on a received parameter corresponding to the update request, e.g.,with the parameter being received from the battery state estimationserver.

The memory 330 may store the current and the updated battery modeland/or corresponding parameter. In an example, after updating of thecurrent battery model, the battery state estimation apparatus 300 maydelete the current battery model and/or parameter from the memory 330and only store the updated current battery model and/or parameter. Thememory 330 stores at least one battery model, for example, separatelystores and manages battery models having different estimation ranges.The battery models having different estimation ranges may be identifiedaccording to different versions of their parameters. Hereinafter, aversion refers to information or an indication to be used to distinguishparameters generated based on reference data collected by such a batterystate estimation server at a plurality of different points in time. Thememory 330 may manage the battery models by type, and stores variousparameters corresponding to different estimation ranges by mapping theparameters to battery models of respective types. A type of a batterymodel indicates one of the aforementioned ML structures. In addition,while entire battery models may be stored, alternatively only thecorresponding parameters are stored and a corresponding speciallytrained model generated by applying a select parameter to an existingmodel structure during estimation of a corresponding estimation range.In another example, the select parameter may further include additionstructural formation, such a hyper-parameter information for a neuralnetwork battery model example to define the configuration of layers andnodes in the neural network in addition to the connection weightsbetween nodes.

In an example, the battery state estimation apparatus 300 may be abattery management system (BMS) configured to control a battery packincluding multiple batteries. An apparatus including a battery includes,for example, an electric vehicle, a plug-in hybrid-electric vehicle(PHEV), and a hybrid electric vehicle (HEV), as only examples. In anexample, the battery state estimation apparatus 300 is the vehicle, andincludes the BMS and the battery pack, as well as a sensing system tomeasure voltage, current, and/or temperature information of the batterypack, and a user interface with a display.

Although a product release timing of a battery or correspondingelectronic device may occur in a situation where an amount of initialreference data has insufficiently been generated for an accurate batterystate estimation using a full or global battery model or for estimationranges beyond an initial estimation range corresponding to an initialbattery model or parameter originally included with a battery stateestimation apparatus 300 configured to estimate the battery state of thebattery, the battery state estimation apparatus according to one or moreembodiments may update a parameter of a battery model continuously,thereby maintaining an accuracy of battery state estimation. Thus, abattery state estimation server and/or battery state estimationapparatus according to one or more embodiments reduces a time to be usedfor commercialization.

The battery state estimation apparatus 300 may obtains a recentparameter from the battery state estimation server that is remotelyconnected. The battery state estimation server may have generatedmultiple such parameters for multiple estimation ranges with respect toa now deteriorated battery based on respective trainings by securingreference data which may have been unavailable at the time of productrelease of the battery state estimation apparatus 300, for example. Asnoted above, an estimation range to be supported by a parameter of abattery model trained based on reference data collected until apredetermined point in time is determined based on the then availableamount of the reference data. In response to a determination that adeterioration level of the battery of the battery state estimationapparatus 300 is outside of an estimation range of a currently selectedbattery model, the battery state estimation apparatus 300 requests arecent parameter on-the-fly, e.g., in real time, from the battery stateestimation server to estimate a state of the battery.

In a case in which the battery state estimation apparatus 300 is notconnected to the battery state estimation server, the battery stateestimation apparatus 300 may not use an existing parameter. Thus, thebattery state estimation apparatus 300 may temporarily suspend anoperation of estimating state information of the battery until thebattery state estimation apparatus 300 is connected to the battery stateestimation server. Further, the battery state estimation apparatus 300provides information related to the currently selected battery model andthe parameter to a user through a visual or auditory user interface (UI)of the battery state estimation apparatus 300 or through a local busconnected to such a UI of an underlying electronic device, vehicle, ordrone that includes the battery state estimation apparatus 300.

The battery state estimation apparatus 300 may generate a battery modelto estimate state information of a battery in a least amount of timeafter release of the battery state estimation apparatus 300, forexample, compared to previous requirements of a full or global model,based on full reference data, being necessary. Further, as a timeelapses, the battery state estimation apparatus 300 may receive aparameter having a higher accuracy continuously from the battery stateestimation server. In addition, the accuracy of battery state estimationmay improve using driving history data of an electric vehicle (EV) asthe reference data. For example, where the battery model is a neuralnetwork, the neural network may be a deep neural network with manylayers, including an input layer to receive the driving history data andthe information of the battery, or separate respective input layers forthe driving history data and the information of the battery, forexample, such that a received updating parameter may representconnection weights for only select layers of the deep neural network.

FIG. 4 is a block diagram illustrating an example of a configuration ofa battery state estimation system in accordance with one or moreembodiments.

Referring to FIG. 4, a battery state estimation system 400 includes abattery pack 401, a battery state estimation apparatus 410, and abattery state estimation server 420, for example.

The battery pack 401 includes a plurality of batteries. At least aportion of the batteries are connected in parallel or series. Forexample, as shown in FIG. 4, at least a portion of the batteries areconnected in parallel to form a battery module, and battery modules areconnected in series. In FIG. 4, five batteries are connected inparallel, and three batteries are connected in series. However, theconfiguration of the battery pack 401 is not limited thereto, and mayvary depending on embodiment.

The battery pack 401 includes a battery sensor 402. In another example,the battery sensor 402 is attached or connected to the battery pack 401.The battery sensor 402 generates battery information by measuring avoltage signal, a current signal, and a temperature signal of thebattery pack 401. The battery sensor 402 transfers the generated batteryinformation to the battery state estimation apparatus 410. Hereinafter,a battery refers to the battery pack 401.

The battery state estimation apparatus 410 is a device configured toestimate state information of a battery from the battery informationreceived from the battery sensor 402. The battery state estimationapparatus 410 includes a data receiver 411, a preprocessor 412, aprocessor 413, a memory 414, and a communicator 415, for example.

The data receiver 411 receives battery information. For example, thebattery receiver 411 receives the battery information measured by thebattery sensor 402 from a battery through a data interface.

The preprocessor 412 preprocesses the received battery information. Forexample, the preprocessor 412 changes the battery information to a formsuitable for estimating the state information, for example, byamplifying the battery information or removing noise.

The processor 413 estimates state information of the battery from thebattery information based on a battery model. The processor 413determines whether a new parameter is needed by monitoring the stateinformation of the battery continuously. Here, the processor 413estimates the state information of the battery periodically ornon-periodically. In response to a determination that a new parameter isneeded, the processor 413 requests and receives the new parameter fromthe external battery state estimation server 420 through thecommunicator 415. Further, the processor 413 stores the new parameter inthe memory 414, and updates the battery model using the new parameter.An operation of the processor 413 will be described in greater detailfurther below.

The memory 414 stores the battery model and/or a corresponding parameterdefining a specialized structure, for example, an ML structure, of thebattery model. In an example, the memory 414 may store and managedifferent parameters for each version, with respect to a single MLbattery model structure or framework, where each parameter differentlyconfigures the same ML battery model structure, though embodiments arenot limited thereto. For example, where the ML battery model structureis a neural network, a same neural network structure or framework may bedefined by same hyper-parameters that define the configurations of thelayers and nodes and corresponding activation functions, while differentparameters, defining particular connection weightings, applied to thesame neural network structure may result in substantially differentspecialized neural networks.

The communicator 415 transmits an update request to the battery stateestimation server 420, and receives a parameter corresponding to theupdate request from the battery state estimation server 420. Thecommunicator 415 receives the parameter from the battery stateestimation server 420 periodically or using a push.

The battery state estimation server 420 includes a communicator 421, acontroller 422, and a memory 424, for example. Here, though one batterystate estimation server is illustrated, the battery state estimationserver 420 may represent multiple battery state estimation servers 420.Likewise, though one battery state estimation apparatus is illustrated,the battery state estimation apparatus 410 may represent multiplebattery state estimation apparatuses 410. In addition, one of suchbattery state estimation apparatuses 410 may be included in one of thebattery state estimation servers 420, and one of such battery stateestimation servers 420 may be included in one of the battery stateestimation apparatuses 410.

The communicator 421 receives the update request from the battery stateestimation apparatus 410. The communicator 421 transmits the parametercorresponding to the update request to the battery state estimationapparatus 410. Further, the communicator 421 may receive reference datafrom an external device.

The controller 422 controls the communicator 421 to transmit theparameter corresponding to the update request to the battery stateestimation apparatus 410. The controller 422 searches the memory 424 forthe parameter corresponding to the received update request. In responseto the parameter stored in the memory 424 being found, the controller422 transmits the found parameter to the battery state estimationapparatus 410 through the communicator 421.

The controller 422 generates a battery model based on reference data,such as reference data of a battery included in or externally connectedto the battery state estimation server 420. For example, the controller422 trains the battery model based on the reference data collected untila predetermined point in time, thereby generating a parameter withrespect to the battery model. The controller 422 stores at least one ofthe battery model and/or the parameter trained with respect to thebattery model in the memory 424. In response to new reference data beingreceived, the controller 422 generates a battery model and a parametertrained based on the new reference data. However, embodiments are notlimited thereto. The controller 422 may wait until a predeterminedamount of reference data is collected. In response to the amount of thecollected reference data exceeding a predetermined threshold amount ofdata, the controller 422 trains the battery model and the parameter.Further, the controller 422 may train the battery model and theparameter based on the reference data at a predetermined interval.

The controller 422 may determine or identify a version of the batterymodel and the parameter based on, or through, the point in time at whichthe reference data is collected, and may manage the battery model andthe parameter by version. For example, a battery model and a parametertrained based on reference data collected until a point in time a1 maybe managed as a version A1, and a battery model and a parameter trainedbased on reference data collected until a point in time a2 may bemanaged as a version A2. Here, a1 and a2 denote different points intime, and A1 and A2 denote information indicating different versions.

The memory 424 stores the battery model. For example, the memory 424stores the battery model and the parameter corresponding to the batterymodel. In one or more embodiments, the battery state estimationapparatus may be considered as further including the battery pack 401and the battery sensor 402. In addition, the battery state estimationapparatus may further include a user interface, such as when the batterystate estimation apparatus is a vehicle or drone and the user interfaceincludes the dashboard, center console, and/or steering instrumentdevices/elements.

FIG. 5 is a diagram illustrating an example of a battery stateestimation process in accordance with one or more embodiments.

Referring to FIG. 5, a processor 511 receives battery information from abattery pack 501 in real time. In operation 591, the processor 511estimates state information of a battery from the battery informationusing a battery model. The processor 511 determines whether theestimated state information is outside of an estimation range of thebattery model. In response to the estimated state information beingwithin the estimation range, the processor 511 determines that thebattery model is valid. While the battery model is determined valid, theprocessor 511 repeats operation 591 of estimating the state informationof the battery in real time or periodically. In addition, when theprocessor 511 determines the battery model is valid, the processor 511may use the estimated state of the battery pack 501 as a final batterystate estimation of the battery pack 501.

Here, the memory 512 may store the battery model and metadata 518related to the battery model. The metadata 518 may include versioninformation indicating a battery model and a current training level ofthe battery model, an estimation range of a currently selected batterymodel and corresponding parameter, and server connection information. Asonly an example, the server connection information may include anInternet address, for example, a uniform resource locator (URL), of thebattery state estimation server 520 having a more recent parameter withrespect to the currently selected battery model or with respect to thecurrent estimation range, for example.

In response to the estimated state information being determined to beoutside of the estimation range, the processor 511 determines that thebattery model is invalid. As shown in a battery life graph 519 of FIG.5, the estimation range of the currently selected battery model and theparameter corresponds to a maximum capacity of a battery which rangesfrom 3.0 ampere hour (Ah) to 3.3 Ah. A period corresponding to theestimation range is a period in which state estimation performed basedon the currently selected battery model and parameter is valid. Here,the period is represented in a unit of charge and discharge cycle of thebattery, and a single charge and discharge cycle is a single cycle inwhich the battery is fully charged and fully discharged. In response tothe state information estimated by the processor 511 being outside ofthe estimation range, the state estimation performed based on thecurrently selected battery model and the parameter is determined invalidin a subsequent cycle.

In response to the determination that the currently selected batterymodel and the parameter in the memory 512 are invalid, the processor 511transmits an update request to the battery state estimation server 520,in operation 592, such as through the illustrated network. In responseto the update request being received, the battery state estimationserver 520 transmits a parameter trained based on reference datacollected until a point in time at which the update request is receivedand for an estimation range corresponding to the update request, forexample, to a battery state estimation apparatus 510, in operation 593.Alternatively, the request may be accommodated by an intermediary serveror cloud server that stores trained parameters and/or correspondingtrained battery models uploaded from the battery state estimation server520, such as updated routinely or upon completion of such parametersand/or battery models by the battery state estimation server 520. Thebattery state estimation apparatus 510 estimates valid state informationof the battery within an estimation range changed or expanded by theupdated parameter.

However, embodiments are not limited thereto. In response to adetermination that the currently selected battery model and theparameter in the memory 512 are invalid, the processor 511 mayalternatively search the memory 512 for a battery model and a parametercorresponding to the update request. In response to the battery modeland the parameter corresponding to the update request being found in thememory 512, the processor 511 selects the found battery model and thefound parameter, and performs state estimation by applying the parameterto the selected battery model. In response to the battery model and theparameter corresponding to the update request being not found, theprocessor 511 transmits an update request to the battery stateestimation server 520, in operation 592. In addition, if a change in thebattery is sensed, such as if the battery is changed or swapped foranother or new battery, the searching of the memory and/or updaterequesting may also be performed.

FIGS. 6 and 7 are flowchart illustrating examples of a battery stateestimation method in accordance with one or more embodiments.

Referring to FIGS. 6 and 7, in operation 610, a processor of a batterystate estimation apparatus determines a validity of a battery modelbased on state information of a battery estimated from batteryinformation. In detail, in operation 711, the processor estimates thestate information of the battery. In operation 712, the processordetermines whether the estimated state information is outside of anestimation range for the current battery model. In response to adetermination that the estimated state information is within theestimation range, the processor performs operation 711. For example, inresponse to a determination that the state information of the battery isvalid, the processor continuously estimates the state information of thebattery from the battery information based on the battery model and aparameter currently applied to the battery model.

In response to a determination that the estimated state information isoutside of the estimation range of the battery model, the processordetermines that the parameter applied to the battery model is invalid.For example, in response to the estimated state information being lessthan a minimum level of state information set to be estimable by thebattery model, the processor determines that the estimated stateinformation is outside of the estimation range.

In operation 620, in response to a determination that the battery modelis invalid, the processor transmits an update request for the batterymodel to a battery state estimation server using a communicator. Theprocessor transmits, to the battery state estimation server, a signal torequest a parameter having a range overlapping at least a portion of anestimation range of a parameter applied to the battery model. Inresponse to the estimated state information being less than or equal toa minimum level of the estimation range of the parameter applied to thebattery model, the processor transmits, to the battery state estimationserver, a signal to request a parameter trained to estimate stateinformation less than or equal to the minimum level.

In operation 630, the processor updates the battery model based on aparameter corresponding to the update request, the parameter beingreceived from the battery state estimation battery state estimationserver. In detail, in operation 731, the processor receives theparameter corresponding to the update request through the communicator.The processor receives, from the battery state estimation server throughthe communicator, such a parameter having been trained to a minimumlevel estimable based on reference data collected for up to a point intime at which the update request is received, for example. In operation732, the processor updates the battery model based on the receivedparameter. In a case in which the battery model is a neural networkincluding a plurality of nodes, the processor updates a connectionweight to connect nodes based on the received parameter. In addition, ifthe parameter includes connection weights and hyper-parameters definingthe structure of the neural network, or such trained hyper-parametersare forwarded/received along with the parameter, the processor mayupdate the structure and corresponding connection weights of the neuralnetwork. Alternatively, updates to the battery model may be based on aconsistent structure, e.g., with the same hyper-parameters but differentconnection weights, for different trained estimation ranges.

In operation 740, the processor estimates state information of thebattery based on the updated battery model. For example, the processorestimates the state information of the battery using the updated batterymodel until the state information estimated based on the update batterymodel is outside of the new estimation range in operation 712.

FIG. 8 illustrates an example of an operation of battery stateestimation in accordance with one or more embodiments.

In FIG. 8, a case in which a battery state estimation apparatus isprovided in an EV is described as an example. However, embodiments arenot limited thereto. The battery state estimation apparatus may beapplicable to, and embodiments correspondingly include, all electronicdevices using a battery as a power source. A battery state estimationapparatus 811 of a first point in time, a battery state estimationapparatus 812 of a second point in time, and a battery state estimationapparatus 813 of a third point in time are the same battery stateestimation apparatus. The battery state estimation apparatus 813 of thethird point in time has an updated parameter, unlike the battery stateestimation apparatus 811 of the first point in time and the batterystate estimation apparatus 812 of the second point in time. The batterystate estimation apparatus 811 of the first point in time and thebattery state estimation apparatus 812 of the second point in time havethe same parameters. Thus, operation 801 corresponds to the batterystate estimation apparatus 811 of the first point in time havingreceived such an initial battery model from a battery state estimationserver 820. The parameter applied to the battery model of the batterystate estimation apparatus 811 of the first point in time maysufficiently guarantee an accuracy of state information estimation onlywithin a first estimation range. For example, FIG. 8 illustrates a casein which the first estimation range is a range of SoH from 100% to 90%.In operation 802, the battery state estimation apparatus 811 of thefirst point in time estimates state information of a battery at thefirst point in time. In response to the estimated state information, forexample, an SoH of 98%, being greater than a minimum level, for example,90%, and less than a maximum level (although not shown, assumed as 100%)of the first estimation range, the battery state estimation apparatus811 determines the current battery model to be valid and estimates thestate information of the battery using a currently selected batterymodel and parameter. The battery state information apparatus 811 mayoutput the estimated battery state to a user, such as to a driver of acorresponding vehicle through a display of the vehicle or of the batterystate estimation apparatus 811. For example, the displayed output mayindicate the SoH, SoC, and/or residual available travel distance of thebattery. The display output may also indicate whether the battery shouldbe replaced, or an estimate of when the battery will need to bereplaced, such as based on any of the SoH, SoC, and/or the residualavailable travel distance.

In operation 803, the battery state estimation apparatus 812 of thesecond point in time continuously estimates the state information of thebattery from battery information using the battery model and theparameter having the first estimation range. It may be assumed that thestate information estimated at the second point in time, for example, anSoH of 90%, is equal to the minimum level, for example, 90%, of thefirst estimation range. The battery state estimation apparatus 812 ofthe second point in time determines that a deterioration level of thecorresponding battery has reached a limit of the first estimation rangeof the correspondingly currently selected battery model and parameter.In operation 804, the battery state estimation apparatus 812 of thesecond point in time transmits, to the battery state estimation server820, a signal to request a parameter having an estimation range withrespect to a level less than or equal to the minimum level of the firstestimation range, for example, an update request.

In operation 805, the battery state estimation server 820 transmits aparameter corresponding to the update request to the battery stateestimation apparatus 812 of the second point in time. The battery stateestimation apparatus 812 of the second point in time updates its currentbattery model based on the received parameter. The received parameterhas a second estimation range. The second estimation range is a range inwhich state information less than the minimum level of the firstestimation range is estimable with sufficient predetermined accuracy.For example, a maximum level of the second estimation range may be 100%,and a minimum level of the second estimation range may be 80%. However,embodiments are not limited thereto. Alternatively, the secondestimation range may have a range overlapping a portion of the firstestimation range, and may be set to have, for example, a maximum levelof 91% and a minimum level of 80%. The minimum level of the secondestimation range is a minimum level estimable by a battery model and aparameter trained based on reference data collected by the battery stateestimation server 820 until the second point in time.

In operation 806, the battery state estimation apparatus 813 of thethird point in time continuously estimates the state information of thebattery using its current battery model and parameter having the secondestimation range. As shown in FIG. 8, in response to state informationestimated at the third point in time, for example, an SoH of 80%, beingequal to the minimum level, for example, 80%, of the second estimationrange, the battery state estimation apparatus 813 of the third point intime may determine that the deterioration level of the battery reaches alimit of the second estimation range. In operation 807, the batterystate estimation apparatus 813 of the third point in time transmits, tothe battery state estimation server 820, a signal to request a parameterhaving an estimation range with respect to a level less than or equal tothe minimum level of the second estimation range. In operation 808, thebattery state estimation server 820 transmits a parameter having a thirdestimation range overlapping at least a portion of the second estimationrange, in response to the update request.

The battery state estimation server 820 stores various battery modelsand various parameters corresponding to the battery models. The batterystate estimation server 820 may transmit a parameter corresponding to anupdate request received from a battery state estimation apparatus. Asonly examples, the parameter received by the battery state estimationapparatus may be for use only for a portion of range of the stateinformation or may be for use for the full range of the stateinformation. For example, in an initial period in which a new battery isreleased, released from manufacture, or firstly used in a particularelectronic device, the battery state estimation server 820 stores only aparameter to be used only for an initial range, for example, the firstestimation range. For example, upon a sufficient time elapses after therelease, a sufficient amount of reference data related to a deterioratedbattery being monitored by the battery state estimation server 820 iscollected, and the battery state estimation server 820 and the batterystate estimation apparatus respectively generate and maintain a singlebattery model and a single parameter based on the collected referencedata.

FIG. 9 illustrates an example of parameters applied to a battery modelin accordance with one or more embodiments.

A change in capacity of a battery and a change in internal resistance ofthe battery with respect to battery deterioration show non-linearcharacteristics. For example, a newly developed battery may haveunpredictable state information depending on component proportions ofmaterials constituting an anode, a cathode, and electrolyte of thebattery. In this example, a great amount of time is used to finishbattery life experiments in a laboratory before a product is released.

In an initial period of product release, a battery state estimationserver trains battery models and generates corresponding firstparameters 921 and 931 based on reference data of a fresh battery. Thefirst parameters 921 and 931 may guarantee sufficiently high accuraciesto predetermined accuracy or confidence levels in a state informationrange of an initial period 911, for example, a predetermined batterycapacity and internal resistance period. However, in response to adeterioration level of the battery being out of the initial period 911as the battery is used over time, there may be a great error betweenstate information estimated based on the parameters trained based on theinitial reference data and an actual state of the battery.

The battery state estimation server may additionally collect thereference data by continuously conducting an experiment in a laboratoryafter the battery is released, for example, or by obtaining a profilecorresponding to driving of an actual EV. The battery state estimationserver trains battery models based on the additionally collectedreference data and generates corresponding second parameters 922 and 932for estimating the state information of the deteriorated battery in amiddle period 912 after the initial period 911. Further, the batterystate estimation server trains battery models and generatescorresponding third parameters 923 and 933 for estimating the stateinformation of the deteriorated battery in a final period 913 after themiddle period 912. The battery state estimation server transmits atleast one of the generated parameters, e.g., between first parameters921 through 933, in response to an update request from a battery stateestimation apparatus.

For example, the battery state estimation server may sequentially trainthe battery models so that a second estimation range corresponding tothe second parameter 922 includes an entire first estimation rangecorresponding to the first parameter 921, and a third estimation rangecorresponding to the third parameter 923 includes the entire secondestimation range corresponding to the second parameter 922. In thisexample, the battery state estimation server obtains respective batterymodels and parameters to estimate state information with respect to theentire range trained thus far.

Alternatively, or in addition, the battery state estimation server maysequentially train the battery models such that the second estimationrange corresponding to the second parameter 922 includes only a portionof the first estimation range corresponding to the first parameter 921and the third estimation range corresponding to the third parameter 923includes only a portion of the second estimation range corresponding tothe second parameter 922. In this example, the battery state estimationserver obtains respective local battery models and parameters toguarantee sufficiently optimal state estimation to predeterminedaccuracy or confidence levels for each predetermined range of thedeterioration level of the battery.

FIGS. 10A and 10B respectively illustrate an example of a battery modeland parameters applied to the battery model in accordance with one ormore embodiments.

A battery model may be a neural network 1000. The neural network 1000 isimplemented by hardware, such as solely through hardware, solely throughprocessor executed instructions stored on a non-transitory computerreadable medium, or a combination thereof. The neural network 100 mayalso be referred to as an artificial neural network. The neural network100 uses artificial neurons or nodes that are configured differentlythan biological neurons by being connected to each other through edgeshaving connection weights. The connection weights are predeterminedvalues of the edges, e.g., set during training, and may also be referredto as synapse weights or connection strengths.

The neural network 1000 includes a plurality of layers. For example, theneural network 1000 includes an input layer, plural hidden layers, andan output layer. The input layer receives input feature data andtransmits respective inputs to the illustrated first hidden layer basedon respective weightings, at which time the nodes of a hidden layerrespectively implement activation functions. Likewise, outputs of aprevious hidden layer may be weighted and provided to respective nodesof a final hidden layer, which implement their activation functions, andrespective outputs of the final hidden layer are input to one or morenodes of the output layer and the output layer generates an output ofthe neural network 1000. Here, the outputs of the final hidden layer mayalso be respectively weighted before being acted on by the one or morenodes of the output layer. The hidden layer is disposed between theinput layer and the output layer.

For example, during training, a hidden layer may operate on a traininginput of training data received from the input layer to output anexpected or easily predictable value through the output layer. Herein,the training data may be a data set including a plurality of trainingpairs. For example, a training pair includes a training input and atraining output, and the training output may be a value to be outputfrom the training input paired with the training output. Thus, thetraining data includes a plurality of training inputs, and trainingoutputs mapped to the plurality of training inputs, respectively. Whenthe input and output pair are known, the corresponding training may becalled supervised training, while when the output is not known or theinput is not labeled, the training may be called unsupervised training.

During training of the neural network 1000, training data of referencedata is input, and through iterative operations the respectiveweightings between each of the layers may be each adjusted until theneural network 1000 is trained. For example, the nodes of the hiddenlayers may change the training input of reference data received from theinput layer to output through the output layer an expected or knownvalue. The eventual configuration and weightings of the trained neuralnetwork 1000 may be stored, and thus represent a parameter that willgenerate or configure, when the parameter is applied, the neural network1000 so as to specially process input received battery informationmeasured from a battery, and output state information estimated from thebattery information. For example, for the training, the battery stateestimation server may determine respective connection weights for theweightings between the nodes through a gradient descent scheme which isbased on a loss to be back-propagated to the neural network and outputvalues of the nodes included in the neural network. For example, thebattery state estimation server may update the connection weights amongthe nodes through loss back-propagation learning. Loss back-propagationlearning refers to a method of estimating a loss with respect toprovided training data through forward computation, and updatingconnection weights to reduce the loss while propagating the estimatedloss in a backward direction from an output layer toward hidden layer(s)and an input layer. When the battery state estimation apparatus uses theneural network to perform battery state estimation, operations of theneural network are performed in an order of the input layer, the hiddenlayer(s), and the output layer. However, in the loss back-propagationlearning, the connection weights are updated in an order of the outputlayer, the hidden layer(s), and the input layer. When training theneural network as desired, one or more processors of the battery stateestimation server may use a local buffer memory configured to storelayers or a series of computed data, for example.

As illustrated in FIG. 10A, the neural network 1000 receives batteryinformation 11 through In through the input layer, n being an integergreater than or equal to “1”. The nodes of the hidden layers arerespectively connected with connection weights wij 1020, i and j beingintegers greater than or equal to “1”. The nodes of the hidden layerseach include respective non-linear functions Fxy as respectiveactivation functions, for example, a Sigmoid function, a tan h function,a softmax function, or any of the functions Fxy may be a linearfunction, and where x and y are integers greater than or equal to “1”.The example node of the output layer also similarly includes anactivation function Fo. As only an example, in neural network 1000, theactivation functions F11 through F1 n of the nodes 1010 of theillustrated first hidden layer and the activation functions F21 throughF2 n of the nodes 1010 of the illustrated second hidden layer may be theSigmoid or tan h functions, e.g., depending on normalization applied toinput data, and an activation function Fo of the node 1010 of the outputlayer may be the softmax function. Here, the output layer Fo outputsstate information, such as in a percentile or probabilistic format.Further, the neural network 1000 may also include one or more respectivebiases, such as the illustrated one or more illustrated bias 1's thatmay be applied to, or acted on by, a corresponding node 1010 of thefirst hidden layer along with the respective results of the weightedinputs, and the illustrated bias 2's that may be applied to, or acted onby, a corresponding node 1010 of the second hidden layer along with therespective results of weighted outputs of the nodes 1010 of the firsthidden layer. The respective biases may be weighted or may not beweighted, depending on embodiment. In addition, the neural network 100may further include contextual nodes and/or recurrent nodes or layers,for example.

A battery state estimation server manages parameters classified intoseparate versions for different estimation ranges, for example, as adatabase 1030 for a battery model of a predetermined structure. Here, aparameter or collection of parameters may each represent a differentspecially trained neural network. For example, referring to FIG. 10B,the battery state estimation server stores parameters for one or moreneuro network model configurations for the estimation range from 97% to100% as a version 2.0, and parameters for one or more neuro networkmodel configurations for the estimation range from 90% to 98% as aversion 2.1. A battery state estimation apparatus requests at least oneof the plurality of parameters for the different estimation rangesstored in the battery state estimation server, based on stateinformation computed based on a currently selected battery model andcurrent corresponding parameter. Here, each battery model andcorresponding parameter may be trained for guaranteeing a predeterminedaccuracy of estimation within a corresponding estimation range, thoughembodiments are not limited thereto.

FIG. 11 illustrates example estimation comparisons between in an initialbattery model and a full or global battery model in accordance with oneor more embodiments.

The illustrated initial battery model is a battery model trained basedon reference data collected until an initial period of release of thecorresponding battery, corresponding battery state estimation apparatus,or corresponding electronic device. With a corresponding parameterdefining the initial battery model, the initial battery model has aninitial estimation range 1150, such as between 3.2 Ah and 2.8 Ah. Theinitial battery model provides a high accuracy of estimation withrespect to state information of a corresponding battery within theinitial estimation range 1150. However, when the state information isoutside of the initial estimation range 1150, e.g., below 2.8 Ah, as thecycle of the battery increases an error 1121 also increases withdeterioration of the battery. The error 1121 is a difference betweenactual state information 1110, for example, an actual life, and stateinformation 1120 estimated based on the initial model, for example, anestimated life.

When a sufficient time elapses after the release, a battery stateestimation server generates a full or global battery model which is abattery model trained based on fully collected reference data. Aparameter applied to the full or global battery model provides a highaccuracy within the corresponding full estimation range. Thus, as shownin FIG. 11, an error between state information 1130 estimated based onthe full model and actual state information 1110 is not great.

However, in one or more embodiments, by selectively using differentbattery models that respectively cover different or overlappingestimation ranges that are less than the full estimation range, theerror 1121 of the initial battery model can be avoided and a fullreference data of the battery is not necessary before an accuratebattery state can be estimated.

The batteries, battery packs, battery sensors, battery sensor systems,battery state estimation apparatuses, battery state estimation servers,battery state estimation systems, battery state estimation apparatus220, battery state estimation server 210, battery state estimationsystem 200, battery state estimation apparatus 300, communicator 310,processor 320, memory 330, battery state estimation apparatus 410,battery state estimation server 420, battery state estimation system400, battery pack 401, battery sensor 402, data receiver 411,preprocessor 412, processor 413, memory 414, communicator 415,communicator 421, memory 424, controller 422, battery state estimationapparatus 510, battery state estimation server 520, memory 512,processor 511, battery pack 501, battery state estimation apparatus 811,battery state estimation apparatus 812, battery state estimationapparatus 813, battery state estimation server 820, neural network,neural network 1000, database 1030, and battery models, as onlyexamples, of FIGS. 1-11 that perform the operations described in thisapplication are implemented by hardware components configured to performthe operations described in this application that are performed by thehardware components. Examples of hardware components that may be used toperform the operations described in this application where appropriateinclude controllers, sensors, generators, drivers, memories,comparators, arithmetic logic units, adders, subtractors, multipliers,dividers, integrators, and any other electronic components configured toperform the operations described in this application. In other examples,one or more of the hardware components that perform the operationsdescribed in this application are implemented by computing hardware, forexample, by one or more processors or computers. A processor or computermay be implemented by one or more processing elements, such as an arrayof logic gates, a controller and an arithmetic logic unit, a digitalsignal processor, a microcomputer, a programmable logic controller, afield-programmable gate array, a programmable logic array, amicroprocessor, or any other device or combination of devices that isconfigured to respond to and execute instructions in a defined manner toachieve a desired result. In one example, a processor or computerincludes, or is connected to, one or more memories storing instructionsor software that are executed by the processor or computer. Hardwarecomponents implemented by a processor or computer may executeinstructions or software, such as an operating system (OS) and one ormore software applications that run on the OS, to perform the operationsdescribed in this application. The hardware components may also access,manipulate, process, create, and store data in response to execution ofthe instructions or software. For simplicity, the singular term“processor” or “computer” may be used in the description of the examplesdescribed in this application, but in other examples multiple processorsor computers may be used, or a processor or computer may includemultiple processing elements, or multiple types of processing elements,or both. For example, a single hardware component or two or morehardware components may be implemented by a single processor, or two ormore processors, or a processor and a controller. One or more hardwarecomponents may be implemented by one or more processors, or a processorand a controller, and one or more other hardware components may beimplemented by one or more other processors, or another processor andanother controller. One or more processors, or a processor and acontroller, may implement a single hardware component, or two or morehardware components. A hardware component may have any one or more ofdifferent processing configurations, examples of which include a singleprocessor, independent processors, parallel processors,single-instruction single-data (SISD) multiprocessing,single-instruction multiple-data (SIMD) multiprocessing,multiple-instruction single-data (MISD) multiprocessing, andmultiple-instruction multiple-data (MIMD) multiprocessing.

The methods illustrated in FIGS. 1-11 that perform the operationsdescribed in this application are performed by computing hardware, forexample, by one or more processors or computers, implemented asdescribed above executing instructions or software to perform theoperations described in this application that are performed by themethods. For example, a single operation or two or more operations maybe performed by a single processor, or two or more processors, or aprocessor and a controller. One or more operations may be performed byone or more processors, or a processor and a controller, and one or moreother operations may be performed by one or more other processors, oranother processor and another controller. One or more processors, or aprocessor and a controller, may perform a single operation, or two ormore operations.

Instructions or software to control computing hardware, for example, oneor more processors or computers, to implement the hardware componentsand perform the methods as described above may be written as computerprograms, code segments, instructions or any combination thereof, forindividually or collectively instructing or configuring the one or moreprocessors or computers to operate as a machine or special-purposecomputer to perform the operations that are performed by the hardwarecomponents and the methods as described above. In one example, theinstructions or software include machine code that is directly executedby the one or more processors or computers, such as machine codeproduced by a compiler. In another example, the instructions or softwareincludes higher-level code that is executed by the one or moreprocessors or computer using an interpreter. The instructions orsoftware may be written using any programming language based on theblock diagrams and the flow charts illustrated in the drawings and thecorresponding descriptions in the specification, which disclosealgorithms for performing the operations that are performed by thehardware components and the methods as described above.

The instructions or software to control computing hardware, for example,one or more processors or computers, to implement the hardwarecomponents and perform the methods as described above, and anyassociated data, data files, and data structures, may be recorded,stored, or fixed in or on one or more non-transitory computer-readablestorage media. Examples of a non-transitory computer-readable storagemedium include read-only memory (ROM), random-access memory (RAM), flashmemory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs,DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetictapes, floppy disks, magneto-optical data storage devices, optical datastorage devices, hard disks, solid-state disks, and any other devicethat is configured to store the instructions or software and anyassociated data, data files, and data structures in a non-transitorymanner and provide the instructions or software and any associated data,data files, and data structures to one or more processors or computersso that the one or more processors or computers can execute theinstructions. In one example, the instructions or software and anyassociated data, data files, and data structures are distributed overnetwork-coupled computer systems so that the instructions and softwareand any associated data, data files, and data structures are stored,accessed, and executed in a distributed fashion by the one or moreprocessors or computers.

While this disclosure includes specific examples, it will be apparentafter an understanding of the disclosure of this application thatvarious changes in form and details may be made in these exampleswithout departing from the spirit and scope of the claims and theirequivalents. The examples described herein are to be considered in adescriptive sense only, and not for purposes of limitation. Descriptionsof features or aspects in each example are to be considered as beingapplicable to similar features or aspects in other examples. Suitableresults may be achieved if the described techniques are performed in adifferent order, and/or if components in a described system,architecture, device, or circuit are combined in a different manner,and/or replaced or supplemented by other components or theirequivalents. Therefore, the scope of the disclosure is defined not bythe detailed description, but by the claims and their equivalents, andall variations within the scope of the claims and their equivalents areto be construed as being included in the disclosure.

What is claimed is:
 1. A method to estimate a state of a battery, themethod comprising: determining, by a processor, a validity of a batterymodel configured by a parameter, based on state information of thebattery; controlling, by the processor, a communicator to transmit anupdate request for the battery model to an external battery modelprovider, in response to a result of the determining indicating that thebattery model is invalid; receiving, by the processor, anotherparameter, in response to the update request; and updating, by theprocessor, the battery model to be configured by the other parameter. 2.The method of claim 1, further comprising: estimating, by the processor,the state information of the battery using the updated battery model andbattery information.
 3. The method of claim 1, wherein the determiningcomprises: estimating the state information of the battery from batteryinformation using the battery model; determining whether the estimatedstate information of the battery is outside of an estimation range ofthe battery model; determining that the battery model is valid inresponse to the estimated state information of the battery being withinthe estimation range; and determining that the battery model is invalidin response to the estimated state information being outside of theestimation range.
 4. The method of claim 3, wherein the determining ofwhether the estimated state information of the battery is outside of theestimation range comprises determining that the estimated stateinformation of the battery is outside of the estimation range inresponse to the estimated state information of the battery being lessthan a predetermined minimum level of state information set to beaccurately estimated by the battery model.
 5. The method of claim 1,wherein the transmitting comprises transmitting, to a battery stateestimation server that generates battery state models based on differentparameters, a signal to request at least one parameter having a rangeoverlapping at least a portion of an estimation range of the parameterthat the battery model is dependent on.
 6. The method of claim 1,wherein the determining comprises determining that the parameter thatthe battery model is dependent on is invalid in response to theestimated state information of the battery being outside of anestimation range of the battery model, and the transmitting comprisestransmitting, to a battery state estimation server that generatesbattery state models based on different parameters, a signal to requestat least one parameter trained to estimate state information less thanor equal to a predetermined minimum level of the estimation range of theparameter that the battery model is dependent on in response to theestimated state information of the battery being less than or equal tothe predetermined minimum level.
 7. The method of claim 6, wherein thereceiving further comprises receiving, from the battery state estimationserver, one or more parameters trained to a different predeterminedminimum level, of a different estimation range predetermined foraccurate estimation, based on all or a select portion of reference datacollected by the battery state estimation server up to a point in timeat which the update request is received.
 8. The method of claim 1,further comprising: searching, by the processor, for a parametercorresponding to a sensed change in the battery, from among parametersstored in a memory; updating, by the processor, when the searched forparameter is found, the battery model based on the found parameter;performing, by the processor, when the searched for parameter is notfound, the transmitting, the receiving of the other parameter, and theupdating of the battery model based on the other parameter; andestimating, by the processor, state information of the battery with thesensed change based on the updated battery model.
 9. The method of claim1, wherein the determining further includes searching for a parametercorresponding to a changed battery, among parameters stored in a memory,in response to a change of the battery being sensed, and wherein thetransmitting further includes transmitting a signal to request theparameter corresponding to the changed battery in response to theparameter corresponding to the changed battery being not found.
 10. Themethod of claim 1, further comprising: continuing, by the processor, anestimating of the state information of the battery for continued changesin battery information based on the parameter that the battery model isdependent on, until the result of the determining indicates that thatthe estimated state information is invalid.
 11. The method of claim 1,wherein the battery model is a battery model neural network and theparameter is a representation of specially trained connection weightswithin the battery model neural network trained for estimating a batterystate for a first state information estimation range, and wherein theupdating of the battery model includes applying connection weightsrepresented by the other parameter to a neural network structure togenerate another specially trained battery model neural network trainedfor estimating a battery state for a different second state informationestimation range, with the generated other specially trained batterymodel neural network being the updated battery model.
 12. The method ofclaim 1, wherein the battery model is a battery model neural network andthe parameter that the battery model is dependent on is a trainedconnection weighting matrix, and the other parameter is a differenttrained connection weighting matrix.
 13. The method of claim 1, whereinthe parameter and the other parameter are respectively trainedparameters for different battery state estimation ranges.
 14. Anon-transitory computer-readable medium storing instructions, that whenexecuted by the processor, cause the processor to perform the method ofclaim
 1. 15. An apparatus to estimate a state of a battery, theapparatus comprising: a communicator to communicate with an externalbattery model provider; a memory to store a battery state estimationmodel that is dependent on a parameter; and a processor configured todetermine a validity of the battery state estimation model based onstate information of the battery that is estimated from batteryinformation of the battery, control the communicator to transmit anupdate request for the battery state estimation model to the externalbattery model provider in response to a result of the determiningindicating that the battery state estimation model is invalid, andupdate the battery state estimation model based on another parameterreceived in response to the update request.
 16. The apparatus of claim15, further comprising the battery.
 17. The apparatus of claim 15,wherein the processor is configured to estimate the state information ofthe battery from the battery information using the battery stateestimation model, determine whether the estimated state information ofthe battery is outside of an estimation range of the battery stateestimation model, determine that the battery state estimation model isvalid in response to the estimated state information of the batterybeing within the estimation range, and determine that the battery stateestimation model is invalid in response to the estimated stateinformation being outside of the estimation range.
 18. The apparatus ofclaim 17, wherein the processor is configured to determine that theestimated state information of the battery is outside of the estimationrange in response to the estimated state information of the batterybeing less than a predetermined minimum level of state information setto be accurately estimated by the battery state estimation model. 19.The apparatus of claim 15, wherein the processor is configured tocontrol the communicator to transmit, to a battery state estimationserver that generates battery state estimation models based on differentparameters, a signal to request at least one parameter having a rangeoverlapping at least a portion of an estimation range of the parameterthat the battery state estimation model is dependent on.
 20. Theapparatus of claim 15, wherein the processor is configured to determinethat the parameter that the battery state estimation model is dependenton is invalid in response to the estimated state information of thebattery being outside of an estimation range of the battery stateestimation model, and control the communicator to transmit, to a batterystate estimation server that generates battery state estimation modelsbased on different parameters, a signal to request at least oneparameter trained to estimate state information less than or equal to apredetermined minimum level of the estimation range of the parameterthat the battery state estimation model is dependent on in response tothe estimated state information of the battery being less than or equalto the predetermined minimum level.
 21. The apparatus of claim 15,wherein the parameter and the other parameter are respectively trainedparameters for different battery state estimation ranges.
 22. Anapparatus to estimate a state of a battery, the apparatus comprising: aprocessor configured to determine a validity of a battery stateestimation model neural network, which is dependent on first trainedconnection weighting information, based on state information of abattery that is estimated from battery information of the battery,control a transmitting of an update request for the battery stateestimation model neural network to an external battery model provider inresponse to the determining indicating that the battery state estimationmodel neural network is invalid, and update the battery state estimationmodel neural network based on second different trained connectionweighting information received in response to the update request. 23.The apparatus of claim 22, wherein the first trained connectionweighting information is trained connection weighting information for abattery state estimation range different from a battery state estimationrange for which the second trained connection weighting information istrained.
 24. The method of claim 1, further comprising storing, by amemory, the state information of the battery.
 25. The method of claim24, wherein the communicator is configured to communicate with theexternal battery model provider.
 26. The method of claim 25, wherein thebattery model is used to estimate the state information of the battery.27. The method of claim 1, wherein the parameter represents a collectionof connection weights between nodes of a neural network of the batterymodel.
 28. The method of claim 1, wherein the battery model is a machinelearning (ML) model including any one or any combination of any two ormore of a neural network, a hidden Markov model, a Beyesian network, asupport vector machine (SVM), a decision tree (DT), and a nearestneighbors algorithm (k-NN).